package com.quick.common.util;

import cn.hutool.jwt.JWTUtil;
import com.quick.common.Constent.Quick;
import java.util.Map;

public class TokenUtil {
    private static final String TOKEN_KEY = "quick";
    //创建令牌
    public static String getToken(Integer id, String name,String role){
        Map map=Map.of(Quick.TOKEN_KEY_ID,id, Quick.TOKEN_KEY_NAME,name,Quick.TOKEN_KEY_ROLE,role);
        return JWTUtil.createToken(map,TOKEN_KEY.getBytes());
    }
    //验证令牌
    public static boolean verify(String token){
       return JWTUtil.verify(token,TOKEN_KEY.getBytes());
    }
    //获取令牌信息
    public static String getInfo(String token,String key){
//        return JWTUtil.parseToken(token).getPayload(key).toString();
        Object payload = JWTUtil.parseToken(token).getPayload(key);
        if (payload == null) {
            // 处理空值情况（如抛异常、返回默认值等）
            throw new RuntimeException("JWT令牌中未包含userId信息");
        }
        String p1 = payload.toString();
        return p1;
    }

}
